package com.dream.service.user.api;

import com.dream.common.model.response.BaseListResponse;
import com.dream.common.model.response.BaseResponse;
import com.dream.service.user.domain.model.UserAddrModel;
/**
 * Created by kangd on 2016/3/24.
 */
public interface UserAddrService {

    /**
     * 增加收货地址
     * @param userAddrModel
     * @return
     */
    public BaseResponse<UserAddrModel> addUserAddress(UserAddrModel userAddrModel) throws Exception;

    /**
     * 修改用户详细收货地址
     * @param userAddrModel
     * @return
     * @throws Exception
     */
    public  BaseResponse<UserAddrModel> modifyUserAddress(UserAddrModel userAddrModel) throws Exception;

    /**
     * 修改为默认地址
     * @param pin
     * @param userAddressID
     * @return
     */
    public  BaseResponse<Boolean> modifyUserDefaultAddr(String pin,int userAddressID) throws Exception;

    /**
     *删除用户地址
     * @param pin
     * @param userAddressID  用户地址id
     * @return
     */
    public BaseResponse<Boolean> delUserAddress(String pin,int userAddressID);

    /**
     * 获取用户地址列表
     * @param pin
     * @return
     */
    public BaseListResponse getUserAddressList(String pin);

    /**
     * 获取用户默认地址
     * @param pin
     * @return
     */
    public BaseResponse<UserAddrModel> getUserDefaultAddress(String pin);

    /**
     * 获取用户地址
     * @param pin
     * @param userAddressID
     * @return
     */
    public BaseResponse<UserAddrModel> getUserAddress(String pin,int userAddressID);

    /**
     * 获取国家列表
     * @return
     */
    public BaseListResponse getCountry();

}
